EN FR
EN FR


Section: Software

IDE Meta-tooling Platform

Participants : Jurgen Vinju [correspondent] , Arnold Lankamp, Anya Helene Bagge.

IMP, the IDE meta tooling platform is an Eclipse plugin developed mainly by the team of Robert M. Fuhrer at IBM TJ Watson Research institute. It is both an abstract layer for Eclipse, allowing rapid development of Eclipse based IDEs for programming languages, and a collection of meta programming tools for generating source code analysis and transformation tools.

Characterization:

A5, SO-3, SM4-up5, EM-4, SDL-5, DA-2-CD-2-MS-2-TPM-2

WWW:

http://www.eclipse.org/imp

Objective:

The IDE Meta Tooling Platform (IMP) provides a high-level abstraction over the Eclipse API such that programmers can extend Eclipse with new programming languages or domain specific languages in a few simple steps. IMP also provides a number of standard meta tools such as a parser generator and a domain specific language for formal specifications of configuration parameters.

Users:

Designers and implementers of IDEs for programming languages and domain specific languages. Also, designers and implementers of meta programming tools.

Impact:

IMP is popular among meta programmers especially for it provides the right level of abstraction.

Competition:

IMP competes with other Eclipse plugins for meta programming (such as Model Driven Engineering tools), but its API is more general and more flexible. IMP is a programmers framework rather than a set of generators.

Engineering:

IMP is a long-lived project of many contributors, which is managed as an Eclipse incubation project at eclipse.org .

Publications:

[3]

Jurgen Vinju and Arnold Lankamp contribute significantly to the development of IMP. Their effort is focused on the maintenance and optimization of a general purpose symbolic representation library for source code artifacts, called “PDB”. PDB stands for Program DataBase. For more information, please visit http://www.eclipse.org/imp .

The Rascal language itself was accepted by Eclipse as a contribution to the IMP project. This will further strengthen the collaboration between the IMP and the Rascal team as well as generate a wider audience for Rascal.